//  处理共通请求状态，默认仅提供正常数据到页面
export default function(config){
    //  盘古封装的请求方法名（get、post、postRequestBody、put、delete）
    let method = config['method'];
    //  请求地址
    let url = config['url'];
    //  请求参数
    let params = config['params'];
    //  页面响应的回调函数
    let response = config['response'];
    //  是否需要整个response（默认false，即只给出页面需要的数据）
    let allResData = config['allResData'] || false;
    //  是否使用模拟数据（开发阶段或无接口时使用）
    let useFakerData = config['useFakerData'] || false;
    //  是否使用默认提示
    let needTips = config['needTips'] === false ? false : true;
    
    let _response = function(res) {
        let msgText = res.data && res.data.msg || '接口请求失败';
        let msgType = 'error';

        if(res.data.code === 20001 || res.data.code === 20000){
            msgType = 'success';
        }


        if(res.data.code === 50003){
            msgType = 'error';
            
        }

        //  默认只把正常的data数据给到页面
        let _data = allResData ? res : res.data;
        response(_data);
            

        if(needTips && msgType === 'error'){
            window.vue.$message({
                message: msgText,
                type: msgType
            });
        }
    } 
    window.vue.$apiAxios[method](url, params, _response);
}